{
 "cells": [
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext"
   },
   "source": [
    ".. _nb_tnk:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## TNK\n",
    "\n",
    "Tanaka suggested the following two-variable problem:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Definition**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\begin{equation}\n",
    "\\newcommand{\\boldx}{\\mathbf{x}}\n",
    "\\begin{array}\n",
    "\\mbox{Minimize} & f_1(\\boldx) = x_1, \\\\\n",
    "\\mbox{Minimize} & f_2(\\boldx) = x_2, \\\\\n",
    "\\mbox{subject to} & C_1(\\boldx) \\equiv x_1^2 + x_2^2 - 1 - \n",
    "0.1\\cos \\left(16\\arctan \\frac{x_1}{x_2}\\right) \\geq 0, \\\\\n",
    "& C_2(\\boldx) \\equiv (x_1-0.5)^2 + (x_2-0.5)^2 \\leq 0.5,\\\\\n",
    "& 0 \\leq x_1 \\leq \\pi, \\\\\n",
    "& 0 \\leq x_2 \\leq \\pi.\n",
    "\\end{array}\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Optimum**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since $f_1=x_1$ and $f_2=x_2$, the feasible objective space is also\n",
    "the same as the feasible decision variable space. The unconstrained \n",
    "decision variable space consists of all solutions in the square\n",
    "$0\\leq (x_1,x_2)\\leq \\pi$. Thus, the only unconstrained Pareto-optimal \n",
    "solution is $x_1^{\\ast}=x_2^{\\ast}=0$. \n",
    "However, the inclusion of the first constraint makes this solution\n",
    "infeasible. The constrained Pareto-optimal solutions lie on the boundary\n",
    "of the first constraint. Since the constraint function is periodic and\n",
    "the second constraint function must also be satisfied,\n",
    "not all solutions on the boundary of the first constraint are Pareto-optimal. The \n",
    "Pareto-optimal set is disconnected.\n",
    "Since the Pareto-optimal\n",
    "solutions lie on a nonlinear constraint surface, an optimization\n",
    "algorithm may have difficulty in finding a good spread of solutions across\n",
    "all of the discontinuous Pareto-optimal sets."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Plot**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "code": "usage_problem.py",
    "section": "bnh"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 248,
       "width": 372
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from pymoo.factory import get_problem\n",
    "from pymoo.util.plotting import plot\n",
    "\n",
    "problem = get_problem(\"tnk\")\n",
    "plot(problem.pareto_front(), no_fill=True)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
